package com.craiditx.udf;

import org.apache.hadoop.hive.ql.exec.UDF;

import java.util.regex.Pattern;
public class text_processing extends UDF {
    public static void main(String[] args) {
        String testStr = "丽思·卡尔顿酒店（Ritz-Carlton）*#_·-";
        text_processing text_processing = new text_processing();
        System.out.println(text_processing.evaluate(testStr));
    }

    /**
     * 1.文本所有大写改为小写
     * 2.将所有的特殊字符如（* # _ · -)改为空格
     * 3.将中文括号改为英文括号
     * 4.如果某处出现多空格改为单空格
     */

    public String evaluate(String str){
        try {
            String step1 = str.toLowerCase();
            Pattern pattern = Pattern.compile("[\\n\\t\\r`~!@#$%^&*+=|{}':;,\"\\[\\]「」.<>/?！￥…—【】‘；：”“’。， 、？_·-]");
            String step2 = pattern.matcher(step1).replaceAll(" ");
            String step3 =  step2
                    .replace("（", "(")
                    .replace("）", ")");
            String step4 = step3.replaceAll("\\s+", " ");
            return step4;
        }catch (Exception e) {
                return null;
            }
    }
}
